package q1.project.core.exception;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/** 异常映射注解 参考 Graceful Response 的 @ExceptionMapper 设计 用于为异常类指定错误码和错误消息 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExceptionMapper {

  /** 错误码，对应 ErrorCode 枚举中的 code */
  int code();

  /** 错误消息 如果为空，则使用 ErrorCode 中对应的消息 */
  String msg() default "";
}
